using System;
using System.Collections.Generic; 
using System.Linq.Expressions;

namespace ZhiHeng.OneCard.CommUtility
{
//    public interface IRepository<T>:IDisposable {
//        //Add a new Entity
//        int Add(T entity);
//        //Count the number of entities available
//        long Count();
//        //Count using a filer
//        long Count(Expression<Func<T, bool>> expression);
//        //Delete an existing entity
//        int Delete(T entity);
//        //List all the available entities
//        IList<T> GetAll();
//        //List the entities using a filter
//        IList<T> GetAll(Expression<Func<T, bool>> expression);
//        //Get a single entity
//        T GetSingle(Expression<Func<T, bool>> expression);
//        //Update an existing entity
//        int Update(T entity);
//    }


    //public interface IRepository : IDisposable
    //{
    //    //Add a new Entity
    //    int Add<T>(T entity);
    //    //Count the number of entities available
    //    long Count<T>();
    //    //Count using a filer
    //    long Count<T>(Expression<Func<T, bool>> expression);
    //    //Delete an existing entity
    //    int Delete<T>(T entity);
    //    //List all the available entities
    //    string GetAll<T>();
    //    //List the entities using a filter
    //    string GetAll<T>(Expression<Func<T, bool>> expression);
    //    //Get a single entity
    //    string GetSingle<T>(Expression<Func<T, bool>> expression);
    //    //Update an existing entity
    //    int Update<T>(T entity);
    //}

}